<?php
	
	class GP_page_oubli extends GP_controleur
	{
		var $controleur;
		
		function __construct()
		{
			global $page;
			$this -> controleur = parent::getInstance($page);
		}
		
		function afficher()
		{			
			global $page, $urirw;
			if (strlen($urirw))
			{
				$pagerw = fakeurl($urirw);
				$htmltmp = $this -> controleur -> htmlrw('header');
				$htmltmp .= $this -> controleur -> htmlrw($page);
				$htmltmp .= $this -> controleur -> htmlrw('footer');
				savefile($pagerw, $htmltmp);
				if (!IS_IE)
					header("HTTP/1.1 301 Moved Permanently");
				include($urirw);
			}
			else
			{
				$this -> controleur -> add_html('header');
				$this -> controleur -> add_html($page);
				$this -> controleur -> add_html('footer');
			}
		}
		
		function setvar($var, $val)
		{
			global $urirw;
			if (strlen($urirw))
				$this -> $var = $val;
			else
				$this -> controleur -> $var = $val;
		}
		
		function verif($courriel)
		{
			global $gp_db, $gp_fonc;
			GP_ActiveRecord::setDefaultDBConnection($gp_db);
			
			$users = new GP_ActiveRecord('_bo_users');
			
			$select = array(
				'id',
				'login',
				'nom',
				'prenom',
				'courriel'
			);
			$tab = $users -> get($select, "actif = 1 && courriel = '" . addslashes($courriel) . "' LIMIT 1");
			foreach ($tab as $user)
			{
				extract($user);
				$retour = array();
				if ($id > 0)
				{
					$retour["user"] = $id;
					$retour["user_login"] = $login;
					$retour["user_nom"] = $nom;
					$retour["user_prenom"] = $prenom;
					$retour["user_courriel"] = $courriel;
					
					$new_mdp = $gp_fonc -> fabric_mdp();
					
					$update_user = new GP_ActiveRecord('_bo_users', $id);
					$update_user -> mdp = md5($new_mdp);
					$update_user -> soumettre();
					$retour["new_mdp"] = $new_mdp;
					return $retour;
				}
			}
			return false;
		}
		
	}
	
	$rg_request = GP_secure::getInstance();
	$gp_fonc = GP_fonctions::getInstance();
	$page_oubli = new GP_page_oubli;
	$courriel = $rg_request -> Get('courriel');
	
	if (strlen($courriel))
	{
		$erreur_captcha = false;
		$resp = recaptcha_check_answer (
			CLEPRIVEE_CAPTCHA,
            $_SERVER["REMOTE_ADDR"],
            $rg_request -> Get('recaptcha_challenge_field'),
            $rg_request -> Get('recaptcha_response_field')
		);
		
		if (!$resp -> is_valid)
			$erreur_captcha = true;
		if (!$erreur_captcha)
		{
			$erreur = false;
			$envoi = false;
			$verif = $page_oubli -> verif($courriel);
			if (!$verif)
				$erreur = true;
			else
			{
				extract($verif);
				$to = $user_courriel;
				$login = $user_login;
				$mdp = $new_mdp;
				$nom = sl($user_nom);
				$prenom = sl($user_prenom);
				$salutation = (date('H') > 6 && date('H') < 20) ? 'Bonjour' : 'Bonsoir';
				
				$texte = trad($salutation, APPLNG) . " $prenom $nom,
				
	" . trad("Nous sommes heureux de vous indiquer vos identifiants de connexion à", APPLNG) . " " . TITREBO . ".
	" . trad("Identifiant :", APPLNG) . " $login
	" . trad("Mot de passe :", APPLNG) . " $mdp
	" . trad("Url", APPLNG)." : " . URL_SITE . "

	" . trad("Merci et à bientôt", APPLNG) . ",

	" . trad("L'équipe technique", APPLNG);

				$sujet = trad('Vos identifiants de connexion pour', APPLNG) . ' ' . TITREBO;
				$entetes = "From: cdg@webz0ne.com\nContent-Type: text/plain; charset: iso-8859-1";
				if (is_utf8($sujet))
					$sujet = utf8_decode($sujet);
				if (is_utf8($texte))
					$texte = utf8_decode($texte);
				
				mail_GP ($to, $sujet, $texte, $entetes, 'cdg@webz0ne.com');
				$envoi = true;
				$courriel = '';
			}
		}
		$page_oubli -> setvar('erreur', $erreur);
		$page_oubli -> setvar('erreur_captcha', $erreur_captcha);
		$page_oubli -> setvar('envoi', $envoi);
	}
	
	$captcha = recaptcha_get_html(CLEPUBLIQUE_CAPTCHA);
	
	$page_oubli -> setvar('page', $page);
	$page_oubli -> setvar('captcha', $captcha);
	$page_oubli -> setvar('courriel', $courriel);
	$page_oubli -> setvar('titre', 'Page inconnue');
	$page_oubli -> afficher();
?>